Soru & Cevap

Açık Kaynak Kodlu Projeler

21.07.2017 - 01:13

Merhaba, sitede bulunan özgür yazılımla ve açık kaynak kodlu projelerle alakalı yazıları okudum. Fakat örnek bir github projesini aynen kopyalayıp kullanıp kullanamayacağımızı tam anlayamadım. Anladığım kadarıyla orada bulunan lisans türüne göre bizim de lisanslamamız gerekiyormuş. Örneğin MIT, BSD, Apache vs... Bu lisanslama nasıl oluyor. Kodlar zaten açık olduğu için kullanımda lisanslama yapılmasa hukuki bir sorun teşkil eder mi? Veya kodu kapatıp kendimiz üzerinde bazı geliştirmeler yapıp ticari amaçlı kullanabilir miyiz. Örneğin BSD ile lisanslanan projeler bu şekilde kullanılabiliyormuş fakat, her BSD için geçerli mi? 

Şimdiden teşekkürler...

516 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user murali555
murali555
21.07.2017 - 10:37

Cevabınız için çok teşekkür ederim. Meseleyi anladım sayenizde fakat şurdaki yazıda;
https://gelecegiyazanlar.turkcell.com.tr/blog/acik-kaynak-lisanslari-ile-neseli-gelistirme

"Örneğin BSD, MIT gibi liberal lisanslarda, sadece bir üst satırda bulunan bildirim yükümlülüğünü yerine getirmek, kodu kullanmak için yeterliyken..." 

diye bir tabir var. Mesajınızda cevabı var aslında ama bu durumda bsd, mit veya apache için sizin dediğiniz şekilde kullanmakla çelişmiyor mu? 

Bir de şurda bir cevap var: https://gelecegiyazanlar.turkcell.com.tr/soru/apache-lisansi-hakkinda-bilgi-istiyorum. 

Ali Işıngör'ün cevabı;
"Apache lisanslı bir kütüphaneyi kapalı bir yazılımın bileşeni olarak kullanabilirsiniz. Geçen cevabımda yazdığım şart ve lisans uyarılarına yazılım içinde yer vermeniz şartıyla elbet.."

Teşekkürler...

Profile picture for user programmer.kanguru
programmer.kanguru
21.07.2017 - 02:38

Selamün Aleyküm;

Apache, BSD ve MIT lisanslarından birisini almış yazılımlar / kodlar açık - kapalı kaynak yazılımlarımızda kullanabiliriz. Bu 3 lisans da bize 'neden kodunu kapattın?' diye sormaz.

http://ozgurlisanslar.org.tr/apache/

http://ozgurlisanslar.org.tr/bsd/

http://ozgurlisanslar.org.tr/mit/

Fakat GPL ve LGPL gibi lisanslar daha farklı kurallar içerir. Mesela GPL lisansını almış bir yazılım / kod:

  • Açık kaynak olmalıdır.
  • BSD gibi GPL ile çelişen yazılım / kod kullanılmamalıdır.

LGPL ise şu şartları koyar (ki bu şartlar çok karışık ve her ağızdan farklı itirazlar çıkar):

  • Kodun açık / kapalı olabilir.
  • LGPL kodu statik olarak bağlayamazsın, paylaşımlı olarak bağlamalısın. Çünkü diğer kullanıcılar istedikleri zaman senin yazılımın üzerinde bu .so, .dll gibi dosyalar sayesinde oynama yapabilmelidir.
  • Eğer LGPL lisanslı kodda değişiklik yaptıysan o değişikliği paylaşmak zorundasın.

http://ozgurlisanslar.org.tr/gpl/gpl-v3/

http://ozgurlisanslar.org.tr/lgpl/lgpl-v3/

Eğer Github, Bitbucket, SourceForge vs. yerlerden kodlar alıp kullanacaksan lisanslara çok dikkat etmelisin. Eğer geliştirdiğin yazılımı dağıtma aşamasına gelirsen lisanslara uyman şart.

Murat
21.07.2017 - 10:36
Aleykümselam İbrahim Bey, cevabınız için çok teşekkür ederim. Pek çok noktayı aydınlattınız. Fakat, diyelim ki Apache, BSD veya MIT ile lisanslanmış herhangi bir projeyi kendi projemizde kullanacağız, kodu kapattığımızda veya kapatmadığımız durumda bizim de kendi yazılımımızı bu lisanslarla lisanslamamız gerekiyor mu? Eğer gerekiyorsa lisanslama işlemini nasıl gerçekleştireceğiz. Yoksa hiç bir kısıt altında kalmadan kullanabilir miyiz?
İbrahim
21.07.2017 - 12:13
Merhaba. Kodunuzu açık kaynak yaptığınızda bir lisans koymanızı öneririm. Apache, BSD veya MIT gibi lisanslar olması şahsen daha iyi olur ama şimdi siz GPL lisanslı kodu alıp kendi kodunuzda kullandığınızda tüm kodunuzu GPL olarak lisanslamak zorundasınız, bu da zaten yazılımınızı açık kaynak yapmak zorundasınız anlamına gelir. İster açık kaynak yapın, ister kapalı kaynak yapın, lisans koymak zorunda değilsin ama açık kaynak projelerinde bir lisans koyman daha faydalı olur. Apache, BSD ve MIT lisanslı kodu kendi projelerinizde kullandığınızda kendi projenize aynı lisansı koymak zorunda değilsiniz, hatta hiç lisans bile koymak zorunda değilsiniz. Mesela Android SDK kodları Apache 2.0 lisanslıdır. Fakat siz hiç Android Studio + SDK kullanarak proje geliştiren kişilerin proje kodlarını paylaşmak zorunda olduğunu gördünüz mü? Cevap hayır.
Murat
21.07.2017 - 10:36
______________________